package com.dev.jwt.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 定义一个名为Auth的注解，用于标注需要授权的方法或类型。
 *
 * @Target 指定该注解可以应用于方法或类型的元素上。
 * @Retention 指定该注解在运行时是可见的。
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Auth {

    /**
     * 是否需要授权的属性。
     * 默认值为true，表示该方法或类型需要授权才能访问。
     * 设置为false时表示不需要授权。
     */
    boolean require() default true;
}
